Developer(s) | Apple Inc. |
---|---|
Written in | C, C++, Objective-C, Swift |
Operating system | macOS |
Type | Software framework |
License | Proprietary with some open source components[citation needed] |
Website | Apple Developer |
Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.
Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by the Cocoa.h
header file, and the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime.[1]
Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder (now part of Xcode), using the programming languages Objective-C or Swift. However, the Cocoa programming environment can be accessed using other tools. It is also possible to write Objective-C Cocoa programs in a simple text editor and build it manually with GNU Compiler Collection (GCC) or Clang from the command line or from a makefile.
For end users, Cocoa applications are those written using the Cocoa programming environment. Such applications usually have a familiar look and feel, since the Cocoa programming environment provides a lot of common UI elements (such as buttons, scroll bars, etc.), and automates many aspects of an application to comply with Apple's human interface guidelines.
For iOS, iPadOS, tvOS, and watchOS, APIs similar to Application Kit, named UIKit and WatchKit, are available; they include gesture recognition, animation, and a different set of graphical control elements that are designed to accommodate the specific platforms they target. Foundation Kit and Core Data are also available in those operating systems. It is used in applications for Apple devices such as the iPhone, the iPod Touch, the iPad, the Apple TV, and the Apple Watch.